<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 题目1(选做)：const arr=['name','age','hhh','hhh','age','hhh','hhh','hhh']各出现多少次
        // 要求输出一个对象如下：{age: 2,hhh: 5,name: 1}
        const arr = ['name', 'age', 'hhh', 'hhh', 'age', 'hhh', 'hhh', 'hhh']
        const obj = {}
        arr.forEach(item => {
            obj[item] ? obj[item]++ : obj[item] = 1
        })
        console.log(obj);


        // reduce累计次数
        /* const obj = arr.reduce((prev,item) => {
          prev[item]?prev[item]++:prev[item]=1
          return prev
        },{})
        console.log(obj); */




        // 题目2(必做)：现在两个数组，判断在a中的元素，不在b中 const a = [1,2,3,5] const b=[1,3,5,6] 将在a不在b中的筛选出来
        // 要求：输出一个数组：[2]
        const a = [1, 2, 3, 5]
        const b = [1, 3, 5, 6]

        const array = []
        a.forEach(item => {
            if (!b.includes(item)) {
                return array.push(item)
            }
        })
        console.log(array);



        // 题目3(必做):数组去重(可以用多种方法,至少写一种)
        // 要求：输出一个数组：[1,2,3,9]
        const arr2 = [1, 2, 3, 2, 9]

        // indexOf()去重
        const newArr = []
        arr2.forEach(item => {
            if (newArr.indexOf(item) == -1) {
                newArr.push(item)
            }
        })
        console.log(newArr);

        // includes去重
        /* const newArr = []
        arr2.forEach(item => {
          newArr.includes(item)?newArr:newArr.push(item)
        }) */
        // console.log(newArr)
    </script>
</body>

</html>